const joi = require('joi');

/**
 * string() 值必须是字符串
 * alphanum() 值只能是包含    a-zA-Z0-9 的字符串 
 * min(length) 最小长度
 * max(length) 最大长度
 * required() 值是必填项，不能为undefined 
 * pattern(正则表达式) 值必须符合正则表达式的规则 
 */

// 用户名的验证规则,必须是字符串类型，只能包含字母和数字，长度至少为 1 个字符，最多为 10 个字符，并且不能为空
const account = joi.string().alphanum().min(1).max(10).required()
// 密码的验证规则,密码必须是字符串类型，不能为空
// (?![0-9]+$) 确保密码不全是数字, [a-z0-9] 表示密码由小写字母和数字组成 
const password = joi.string().pattern(/^(?![0-9]+$)[a-z0-9]{1,50}$/).min(6).max(12).required()
// 注册和登录表单的验证规则对象,body 字段指定了对请求体（req.body）中的数据进行验证，验证的内容就是前面定义的用户名和密码的规则
exports.login_limit = { 
	body: {
		account,
		password,
	},
}